This invention relates to a computer system with a packet transfer device, in particular, a transfer control using a URL switch.
Various services provided on the Internet are mostly implemented by way of TCP, which is a stream type communication protocol (refer to IETF, RFC 793, “Transmission Control Protocol”, September 1981). World-Wide Web, for example, employs a variation of TCP, Hypertext Transport Protocol (HTTP, refer to IETF, RFC 2616, “Hypertext Transfer Protocol—HTTP/1.1”, June 1999).
In HTTP, content is obtained from a server through the following procedure. First, a client terminal establishes a TCP connection with the server. A URL of the requested content is contained at a head of a stream. The server interprets the URL to recognize which content is requested by the user, and returns the content located at the recognized URL to the client terminal.
A server in a large-scale system needs to process requests from many users.
One way to deal with a large amount of processing is to balance the processing load among a plurality of servers. In this case, a load balancer is placed on a communication route between the servers and the client terminals, and distributes the load of processing the requests from the users. The load balancer (URL switch) determines a transfer destination of the content by recognizing a URL that is requested by a client terminal.
The URL switch operates as follows.
The URL switch terminates a TCP connection, which is otherwise established by a client terminal to a server. The URL switch extracts a URL of the content sent by the client terminal, and determines from the extracted URL a transfer destination of the content.
For instance, a URL switch serving as a load balancer chooses one of a plurality of servers that stores content requested by a client terminal. The URL switch sets a connection with the chosen server, and transfers the request from the client terminal. The URL switch subsequently relays packets that are to be exchanged between the client terminal and the server.
Through such operation, a URL switch transfers a request from a client terminal to an appropriate server.